package com.briup.pts.config.web;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * SpringMVC的配置类，
 * 需要实现WebMvcConfigurer接口；
 * 该接口中定义了大量的方法，用于配置SpringMVC的组件
 */
@Configuration
public class SpringWebConfig implements WebMvcConfigurer {
//     @Resource
//     private AuthInterceptor interceptor;
//     @Override
//     public void addInterceptors(InterceptorRegistry registry){
//          registry.addInterceptor(interceptor)
//                  .addPathPatterns("/**")
//                  .excludePathPatterns("/login","/noLogin/**",
//                          "/profile/**",
//                          "/common/download**",
//                          "/common/download/resource**",
//                          "/swagger-ui.html",
//                          "/swagger-resources/**",
//                          "/webjars/**",
//                          "/*/api-docs/**",
//                          "/druid/**",
//                          "/favicon.ico",
//                          "/doc.html"
//                          );
//     }
    /**
     * 重写addCorsMappings方法，配置全局的跨域处理
     *
     * @param registry 跨域注册器
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {

        // 给本项目中所有请求路径都支持跨域，/* 表示支持所有的一级路径请求
        // 所有的路径 得用 /**
        registry.addMapping("/**")
                // 设置运行跨域的网站来源， * 表示所有网站的允许
                .allowedOrigins("*")
                // 设置允许跨域请求的请求方式
                .allowedMethods("*")
                // 设置运算跨域请求的请求头数据，通常指自定义数据
                .allowedHeaders("*");
    }
}
